package net.huashitong.ssydt.exam.entity.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import net.huashitong.ssydt.exam.entity.SsExamTestSchedule;


/**
 * @author <a href="mailto:yhy23456@163.com">huiyang.yu</a>
 * @since 2017.08.23
 */
@ApiModel(value = "TestsVo", description = "我的刷题进度")
public class TestsOutVo extends ExamInfoVO {

    private static final long serialVersionUID = -6770813957103871304L;

    @ApiModelProperty(value = "状态(01无计划（考试信息不完整时去未完善，否则确认考试） " +
            "02正常（非首次刷题） 03待更新新题（未来有新题） 04完成（全部完成） " +
            "05计划无题目 06首次刷题)")
    private String status;//状态

    @ApiModelProperty(value = "题目数")
    private Integer questionNumber;//题目数

    @ApiModelProperty(value = "阶段数")
    private Integer stageNumber;//阶段数

    @ApiModelProperty(value = "当前阶段")
    private Integer nowStage;//当前阶段

    @ApiModelProperty(value = "当前题数")
    private Integer nowQuestion;//当前题数
    @ApiModelProperty(value = "是否授权，true时可以刷题")
    private boolean authorization = true;

    public TestsOutVo(SsExamTestSchedule ssExamTest) {
        setExamType(ssExamTest.getExamType());
        setExamProvince(ssExamTest.getExamProvince());
        setExamCity(ssExamTest.getExamCity());
        setExamDate(ssExamTest.getExamDate());
        setExamRange(ssExamTest.getExamRange());
        this.questionNumber = ssExamTest.getQuestionNumber();
        this.stageNumber = ssExamTest.getStageNumber();
        this.nowStage = ssExamTest.getNowStage();
        this.nowQuestion = ssExamTest.getNowQuestion();
    }

    public TestsOutVo() {
    }

    public boolean isAuthorization() {
        return authorization;
    }

    public void setAuthorization(boolean authorization) {
        this.authorization = authorization;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public Integer getQuestionNumber() {
        return questionNumber;
    }

    public void setQuestionNumber(Integer questionNumber) {
        this.questionNumber = questionNumber;
    }

    public Integer getStageNumber() {
        return stageNumber;
    }

    public void setStageNumber(Integer stageNumber) {
        this.stageNumber = stageNumber;
    }

    public Integer getNowStage() {
        return nowStage;
    }

    public void setNowStage(Integer nowStage) {
        this.nowStage = nowStage;
    }

    public Integer getNowQuestion() {
        return nowQuestion;
    }

    public void setNowQuestion(Integer nowQuestion) {
        this.nowQuestion = nowQuestion;
    }

    /**
     * 刷题状态
     * 01 无计划 02 正常
     * 03 待更新新题
     * 04 完成
     * 05 计划无题目
     * 06 首次刷题
     */
    public static final class Status {
        /**
         * 01 无计划
         */
        public static final String NOT_PLAN = "01";
        /**
         * 02 正常
         */
        public static final String NORMAL = "02";
        /**
         * 03 待更新
         */
        public static final String PENDING_UPDATE = "03";
        /**
         * 04 完成
         */
        public static final String FINISH = "04";

        /**
         * 05 计划无题目
         */
        public static final String NOT_SUBJECT = "05";
        /**
         * 06 首次刷题
         */
        public static final String FIRST = "06";


        private Status() {
        }
    }


}
